home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 6
/
Aminet 6 - June 1995.iso
/
Aminet
/
dev
/
gcc
/
libnixV0_8.lha
/
gnu
/
libnix-sources.lha
/
sources
/
nix
/
signal
/
signal.c
< prev
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
Macintosh to JP
NeXTSTEP
RISC OS/Acorn
Shift JIS
UTF-8
Wrap
C/C++ Source or Header
|
1994-12-12
|
372 b
|
18 lines
#include <signal.h>
extern void (*__signalfunc[])(int);
extern int __signalmask,__signalpending;
void (*signal(int sig,void (*func)(int)))(int)
{
void (*oldfunc)(int);
if(sig<1||sig>6)
return SIG_ERR;
oldfunc=__signalfunc[sig-1];
__signalfunc[sig-1]=func;
__signalmask&=~(1<<(sig-1));
if(__signalpending&(1<<(sig-1)))
raise(sig);
return oldfunc;
}